Programmers typically write computer programs in a high-level language, e.g., Java, C. A program commonly referred to as a compiler may translate or compile the source files containing these high-level language statements written by the programmer into corresponding object files or modules storing machine instructions or code. A program commonly referred to as a linker may then link or combine these object files into a program suitable for execution or running on a programmable computer. A typical program is revised, compiled and linked many times during its development.
To save time and effort in the software development process, a programmer may use a software tool commonly referred to as a debugger. The debugger helps a programmer debug a program by stopping at certain breakpoints and displaying various programming elements. The debugger may allow the programmer to step through the source code statements one at a time while the corresponding machine instructions are being executed.
Typically, a debugger requires the symbolic names of the data objects and functions defined by the programmer in the source code, i.e., programming language in the source files, as well as the addresses where the data associated with the symbolic names are located to debug a program. The symbolic names and corresponding addresses are typically stored in a file commonly referred to as a .MAP file which is generated by the linker.
One debugger commonly used by software developers is the Microsoft™ windbg debugger. The Microsoft™ windbg debugger currently requires the .MAP file to be in the format generated by the Microsoft Visual C++ Linker. However, other linkers, such as the IBM Visual Age C++ Linker, do not generate .MAP files in a format recognized by the Microsoft™ windbg debugger.
It would therefore be desirable to develop a tool designed to convert .MAP file in a first format, e.g., .MAP file format generated by the IBM Visual Age C++ Linker, into a second format, e.g., .MAP file format generated by the Microsoft Visual C++ Linker.